package com.config.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;


/**
 * 用户信息表(SysUser)表实体类
 *
 * @author alex
 * @since 2022-08-13 22:18:36
 */
@Data
@TableName(value = "sys_user")
@EqualsAndHashCode(callSuper = false)
public class SysUser extends BaseEntity<SysUser> {

  /**
   * 用户ID
   */
  @ApiModelProperty(value = "用户ID")
  @TableId(value = "user_id", type = IdType.AUTO)
  private Long userId;
  /**
   * 部门ID
   */
  @ApiModelProperty(value = "部门ID")
  @TableField(value = "dept_id")
  private Long deptId;
  /**
   * 用户账号
   */
  @ApiModelProperty(value = "用户账号")
  @TableField(value = "user_name")
  private String userName;
  /**
   * 用户昵称
   */
  @ApiModelProperty(value = "用户昵称")
  @TableField(value = "nick_name")
  private String nickName;
  /**
   * 用户类型（sys_user系统用户）
   */
  @ApiModelProperty(value = "用户类型（sys_user系统用户）")
  @TableField(value = "user_type")
  private String userType;
  /**
   * 用户邮箱
   */
  @ApiModelProperty(value = "用户邮箱")
  @TableField(value = "email")
  private String email;
  /**
   * 手机号码
   */
  @ApiModelProperty(value = "手机号码")
  @TableField(value = "phonenumber")
  private String phonenumber;
  /**
   * 用户性别（0男 1女 2未知）
   */
  @ApiModelProperty(value = "用户性别（0男 1女 2未知）")
  @TableField(value = "sex")
  private String sex;
  /**
   * 头像地址
   */
  @ApiModelProperty(value = "头像地址")
  @TableField(value = "avatar")
  private String avatar;
  /**
   * 密码
   */
  @ApiModelProperty(value = "密码")
  @TableField(value = "password")
  private String password;
  /**
   * 帐号状态（0正常 1停用）
   */
  @ApiModelProperty(value = "帐号状态（0正常 1停用）")
  @TableField(value = "status")
  private String status;
  /**
   * 删除标志（0代表存在 2代表删除）
   */
  @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
  @TableField(value = "del_flag")
  private String delFlag;
  /**
   * 最后登录IP
   */
  @ApiModelProperty(value = "最后登录IP")
  @TableField(value = "login_ip")
  private String loginIp;
  /**
   * 最后登录时间
   */
  @ApiModelProperty(value = "最后登录时间")
  @TableField(value = "login_date")
  private Date loginDate;
  /**
   * 创建者
   */
  @ApiModelProperty(value = "创建者")
  @TableField(value = "create_by")
  private String createBy;
  /**
   * 更新者
   */
  @ApiModelProperty(value = "更新者")
  @TableField(value = "update_by")
  private String updateBy;
  /**
   * 备注
   */
  @ApiModelProperty(value = "备注")
  @TableField(value = "remark")
  private String remark;


  /**
   * 获取主键值
   *
   * @return 主键值
   */
  @Override
  public Serializable pkVal() {
    return this.userId;
  }
}

